package com.cans.singleton;

/**
 * 单例模式
 * 懒汉式
 */
public class LazySingleton3 {
    /**
     * 私有成员变量
     */
    private static LazySingleton3 lazySingleton;

    // 私有化构造方法
    private LazySingleton3() {}

    /**
     * 提供方法统一获取实例
     *
     * @return
     */
    public static LazySingleton3 getInstance() {

        if (lazySingleton != null) {
            return lazySingleton;
        }

        synchronized (LazySingleton3.class) {
            if (lazySingleton == null) {
                lazySingleton = new LazySingleton3();
            }
            return lazySingleton;
        }
    }
}
